package cn.edu.scau.cmi.ema.dao;

import cn.edu.scau.cmi.ema.base.CmiPagination;
import cn.edu.scau.cmi.ema.domain.Foodbatchmaterial;
import org.springframework.dao.DataAccessException;

import java.util.Set;

public interface FoodbatchmaterialDAO extends JpaDao<Foodbatchmaterial> {

	public Foodbatchmaterial findFoodbatchmaterialById(Integer id) throws DataAccessException;

	public Foodbatchmaterial findFoodbatchmaterialById(Integer id, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByName(String name) throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByName(String name, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByNameContaining(String name_1) throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByNameContaining(String name_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByContent(String content) throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByContent(String content, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByContentContaining(String content_1) throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByContentContaining(String content_1, int startResult,
			int maxRows) throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByDescription(String description) throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByDescription(String description, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByDescriptionContaining(String description_1)
			throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialByDescriptionContaining(String description_1, int startResult,
			int maxRows) throws DataAccessException;

	public Foodbatchmaterial findFoodbatchmaterialByPrimaryKey(Integer id) throws DataAccessException;

	public Foodbatchmaterial findFoodbatchmaterialByPrimaryKey(Integer id, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialsByIds(Set<Integer> ids) throws DataAccessException;

	public Set<Foodbatchmaterial> findAllFoodbatchmaterials() throws DataAccessException;

	public Set<Foodbatchmaterial> findAllFoodbatchmaterials(int startResult, int maxRows) throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialsByFoodbatch(Integer foodbatchId, int start, int max);

	public Set<Foodbatchmaterial> findFoodbatchmaterialsByMaterial(Integer materialId, int start, int max);

	public Set<Foodbatchmaterial> findFoodbatchmaterialByCompositeProperities(String sql, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Foodbatchmaterial> findFoodbatchmaterialsByDetachedCriteria(CmiPagination page)
			throws DataAccessException;

	public Foodbatchmaterial findFoodbatchmaterialByPhysicalPrimaryKey(Integer foodbatchId, Integer materialId,
			String content) throws DataAccessException;

	public Foodbatchmaterial findFoodbatchmaterialByPhysicalPrimaryKey(Integer foodbatchId, Integer materialId,
			String content, int startResult, int maxRows) throws DataAccessException;
}
